package com.Brewing.springboot.common.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.json.JSONObject;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Company: </p>
 * @author  庄磊
 * @date	2019年1月4日 下午4:11:33 
 * @version 1.0
 */
public class StringToJsonUtils {
	
	public static JSONObject formatToJson(StudentDataEntity studentDataEntity) {
		//测试数据，可以删除 ↓
		studentDataEntity.setTestInfo("QuestPart:Part1|$|QuestNumber:1|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:1、消毒穿刺部位|$|RightAnswer:1、核对医嘱|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:2|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:2、铺巾扎止血带|$|RightAnswer:2、评估患者|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:3|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:3、嘱患者握拳|$|RightAnswer:3、加药|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:4|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:4、核对医嘱|$|RightAnswer:4、排气至头皮针连接处|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:5|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:5、穿刺|$|RightAnswer:5、铺巾扎止血带|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:6|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:6、评估患者|$|RightAnswer:6、消毒穿刺部位|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:7|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:7、加药|$|RightAnswer:7、排气至针头|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:8|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:8、排气至头皮针连接处|$|RightAnswer:8、嘱患者握拳|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:9|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:9、排气至针头|$|RightAnswer:9、穿刺|$| QuestScore:2 |$|QuestPart:Part1|$|QuestNumber:10|$|QuestType:拖拽题|$|QuestInfo:请根据静脉输液操作流程为以下步骤进行排序|$|StudentChoice:10、贴输液敷贴|$|RightAnswer:10、贴输液敷贴|$| QuestScore:2 |$|QuestPart:Part2|$|QuestNumber:1|$|QuestType:选择题|$|QuestInfo:请根据输液巡视卡选择放在治疗车上层正确的药物.|$|StudentChoice:无操作.|$|RightAnswer:维生素B6_100mg,0.9%氯化钠溶液250ml,|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:2|$|QuestType:选择题|$|QuestInfo:请选择放在治疗车上层正确的用物.|$||StudentChoice:无操作.|$|RightAnswer:弯盘,瓶套,贴有加药便签的输液巡视卡,加药便签,止血带及止血带罐,医用棉签,无菌手套,输液器,磨砂石,安尔碘,75%医用酒精,注射盘,输液贴,一次性治疗巾,5ml注射器,无菌纱布,|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:3|$|QuestType:选择题|$|QuestInfo:请拖动加药便签贴于输液瓶上（右键可以旋转便签，左键拖拽）|$|StudentChoice:加药便签左侧帖于输液瓶上|$|RightAnswer:加药便签倒贴于输液瓶上|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:4|$|QuestType:选择题|$|QuestInfo:取下输液瓶的瓶口拉环后应该丢入哪个垃圾桶（点击选择）|$|StudentChoice:没有丢弃瓶口拉环|$|RightAnswer:瓶口拉环丢生活垃圾桶|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:5|$|QuestType:选择题|$|QuestInfo:使用纱布掰开注射剂瓶口的过程中，需要依次丢弃纱布包装袋、注射剂瓶口、纱布|$|StudentChoice:没有丢弃纱布外包装,没有丢弃注射剂瓶口,没有丢弃纱布|$|RightAnswer:纱布外包装丢生活垃圾桶,注射剂瓶口丢锐器盒,纱布丢医用垃圾桶|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:6|$|QuestType:选择题|$|QuestInfo:请调整针筒后开始抽吸药液（鼠标右键旋转针筒|$|StudentChoice:针尖斜面朝左抽吸药液|$|RightAnswer:针尖斜面朝下抽吸药液|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:7|$|QuestType:区间题|$|QuestInfo:请调节止血带的位置(按住左键拖动)|$|StudentChoice:10 |$|RightAnswer:6-8|$|AnswerWord:止血带距穿刺部位为|$|AnswerUnit:CM|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:8|$|QuestType:选择题|$|QuestInfo:请设置消毒范围(鼠标左键点击一次增加1cm)|$|StudentChoice:消毒穿刺部位范围为0cm|$|RightAnswer:消毒穿刺部位范围为5cm|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:9|$|QuestType:选择题|$|QuestInfo:请在进针前调整进针角度（鼠标按住拖动进度条调整进针角度）|$|StudentChoice:针尖斜面朝下进针|$|RightAnswer:针尖斜面朝上进针|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:10|$|QuestType:区间题|$|QuestInfo:请在进针前调整进针角度（鼠标按住拖动进度条调整进针角度）|$|StudentChoice:0|$|RightAnswer:15-30|$|AnswerWord:进针角度为|$|AnswerUnit:°|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:11|$|QuestType:选择题|$|QuestInfo:针头插入血管见回血后需要进行什么操作，注意你只有一次操作的机会(按住鼠标右键可以推动针头，按住鼠标左键可以转动针头)（鼠标按住拖动进度条调整进针角度）|$|StudentChoice:无操作|$|RightAnswer:先放平针头再进针少许|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:12|$|QuestType:区间题|$|QuestInfo:请为患者调节滴速.拖动左侧拉条调节|$|StudentChoice:0|$|RightAnswer:55-60|$|AnswerWord:调节滴数|$|AnswerUnit:drop/min|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:13|$|QuestType:选择题|$|QuestInfo:请先后将治疗巾和止血带放入对应的垃圾桶中|$|StudentChoice:没有丢弃治疗巾,没有丢弃止血带|$|RightAnswer:治疗巾丢医疗垃圾桶,止血带丢回收止血带桶,|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:14|$|QuestType:选择题|$|QuestInfo:揭开固定输液管的胶布时需要用拇指按压保护针头(圆环代表拇指按压区域，拖动圆环到按压区域).|$|StudentChoice:拇指没有按压针柄|$|RightAnswer:拇指完全按压针柄|$|QuestScore:5|$|QuestPart:Part2|$|QuestNumber:15|$|QuestType:选择题|$|QuestInfo:请将输液瓶和输液管丢入对应的垃圾桶|$|StudentChoice:没有丢输液瓶,没有丢弃输液器瓶塞穿刺针,没有丢弃输液器头皮针,没有丢弃输液管中部|$|RightAnswer:输液瓶丢医疗垃圾桶,输液器瓶塞穿刺针丢锐器盒,输液器头皮针丢锐器盒,输液管中部丢医疗垃圾桶|$|QuestScore:5|$|QuestPart:Part3|$|QuestNumber:1|$|QuestType:选择题|$|QuestInfo:问题:1.下列输液所致的发热反应的处理措施,哪一项是错误的|$|StudentChoice:|$|RightAnswer:A|$|QuestScore:1|$|QuestPart:Part3|$|QuestNumber:2|$|QuestType:选择题|$|QuestInfo:问题:2.配置过敏试验液的溶媒是|$|StudentChoice:|$|RightAnswer:A|$|QuestScore:1|$|QuestPart:Part3|$|QuestNumber:3|$|QuestType:选择题|$|QuestInfo:问题:3.一病人输液过程中出现咳嗽、咳粉色泡沫样痰，呼吸急促，大汗，此病人可能出现下列哪种情况?|$|StudentChoice:|$|RightAnswer:C|$|QuestScore:1|$|QuestPart:Part3|$|QuestNumber:4|$|QuestType:选择题|$|QuestInfo:问题:4.一病人静脉点滴青霉素30分钟后，突然寒战，继之高热，体温40℃，并伴有头痛、恶心、呕吐。判断此病人可能出现了哪种情况?|$|StudentChoice:|$|RightAnswer:A|$|QuestScore:1|$|QuestPart:Part3|$|QuestNumber:5|$|QuestType:选择题|$|QuestInfo:问题:5.茂菲式滴管内页面自行下降的原因是|$|StudentChoice:|$|RightAnswer:A|$|QuestScore:1|$|"); 
		//测试数据结束. ↑
		//分割字符串"|$|",并存入list
		String split[] = studentDataEntity.getTestInfo().split("\\|\\$\\|");
		TestInfoEntity testInfoEntity = new TestInfoEntity();
		int count = 0;
		//考试信息
		List<TestInfoEntity> list = new ArrayList<>();
		for(int i=0;i<split.length;i++) {
			count++;
			//处理说明 分割":"
//			System.out.println(split[i]);
			String colo[] = split[i].split("\\:");
			String colon[]=new String[2];
			if(colo.length==1) {
				colon[0]=colo[0];
				colon[1]="";
			}else {
				colon[0]=colo[0];
				colon[1]=colo[1];
			}
			if(colon[0].equals("QuestPart")) {
				testInfoEntity.setQuestPart(colon[1]);
			}else if(colon[0].equals("QuestNumber")) {
				testInfoEntity.setQuestNumber(colon[1]);
			}else if(colon[0].equals("QuestType")) {
				testInfoEntity.setQuestType(colon[1]);
			}else if(colon[0].equals("QuestInfo")) {
				testInfoEntity.setQuestInfo(colon[1]);
			}else if(colon[0].equals("StudentChoice")) {
				testInfoEntity.setStudentChoice(colon[1]);
			}else if(colon[0].equals("RightAnswer")) {
				testInfoEntity.setRightAnswer(colon[1]);
			}else if(colon[0].equals("QuestScore")) {
				testInfoEntity.setQuestScore(colon[1]);
			}
			if(count%6==0) {
				list.add(testInfoEntity);
				testInfoEntity=new TestInfoEntity();
			}
//			System.out.println("name+++:  "+ colon[0]  + "          choos:+" + colon[1]);
		}
		//总体信息
		Map<String, Object> map = new HashMap();
		map.put("test",list);
		JSONObject jsonObject = new JSONObject(map);
		System.out.println(jsonObject);
		return jsonObject;
	}
}
